package com.sojson.base.impl;

import java.util.Date;
import java.util.List;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 基础Bean
 * 
 * @author liu
 * @date 2020-11-02
 */
@ApiModel("基础实体类")
public class BaseDto extends Base {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "第几页", position = 0)
    private Integer pageNum;
    @ApiModelProperty(value = "每页显示记录数", position = 0)
    private Integer pageSize;
    @ApiModelProperty(value = "排序字段(格式: \"字段名1 asc/desc, 字段名2 asc/desc\") (asc为升序,desc为降序)", position = 0)
    private String orderByColumn = "";
    @JsonIgnore
    @JSONField(serialize = false)
    @ApiModelProperty(value = "排序字段", hidden = true)
    private List<Integer> searchSort;
    @JsonIgnore
    @JSONField(serialize = false)
    @ApiModelProperty(value = "排序字段升序还是降序(1:升序,2:降序)", hidden = true)
    private List<Integer> ascOrDesc;
    @ApiModelProperty(value = "距离", hidden = true)
    private Long baseDist;
    @JsonIgnore
    @JSONField(serialize = false)
    @ApiModelProperty(value = "开始时间", hidden = true)
    private Date beginTime;
    @JsonIgnore
    @JSONField(serialize = false)
    @ApiModelProperty(value = "结束时间", hidden = true)
    private Date overTime;
    @JsonIgnore
    @JSONField(serialize = false)
    @ApiModelProperty(value = "不查状态", hidden = true)
    private Integer statusNo = 2;
    @JsonIgnore
    @JSONField(serialize = false)
    @ApiModelProperty(value = "接收截图文件的数组", hidden = true)
    private byte[] bytes;
    /** 任意表主键 继承此类后不需要在子类中再次定义ID 统一用此ID */
    @ApiModelProperty(value = "ID", position = 0)
    private Integer id;
    /** 任意表编号 继承此类后不需要在子类中再次定义编号 统一用此编号 */
    @ApiModelProperty(value = "编号", position = 0)
    private String no;
    @ApiModelProperty(value = "创建者ID", hidden = true)
    private Integer createBy;
    @ApiModelProperty(value = "创建时间", hidden = true)
    private Date createTime;
    @ApiModelProperty(value = "更新者ID", hidden = true)
    private Integer updateBy;
    @ApiModelProperty(value = "更新时间", hidden = true)
    private Date updateTime;
    @ApiModelProperty(value = "备注", hidden = true)
    private String remark;

    /** 获取任意表主键 继承此类后不需要在子类中再次定义ID 统一用此ID */
    public Integer getId() {
        return id;
    }

    /** 设置任意表主键 继承此类后不需要在子类中再次定义ID 统一用此ID */
    public void setId(Integer id) {
        this.id = id;
    }

    /** 获取任意表编号 继承此类后不需要在子类中再次定义编号 统一用此编号 */
    public String getNo() {
        return no;
    }

    /** 设置任意表编号 继承此类后不需要在子类中再次定义编号 统一用此编号 */
    public void setNo(String no) {
        this.no = no;
    }

    /** 获取创建者ID */
    public Integer getCreateBy() {
        return createBy;
    }

    /** 设置创建者ID */
    public void setCreateBy(Integer createBy) {
        this.createBy = createBy;
    }

    /** 获取创建时间 */
    public Date getCreateTime() {
        return createTime;
    }

    /** 设置创建时间 */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /** 获取更新者ID */
    public Integer getUpdateBy() {
        return updateBy;
    }

    /** 设置更新者ID */
    public void setUpdateBy(Integer updateBy) {
        this.updateBy = updateBy;
    }

    /** 获取更新时间 */
    public Date getUpdateTime() {
        return updateTime;
    }

    /** 设置更新时间 */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /** 获取备注 */
    public String getRemark() {
        return remark;
    }

    /** 设置备注 */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /** 获取第几页 */
    @JsonIgnore
    @JSONField(serialize = false)
    public Integer getPageNum() {
        return pageNum;
    }

    /** 设置第几页 */
    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    /** 获取每页显示记录数 */
    @JsonIgnore
    @JSONField(serialize = false)
    public Integer getPageSize() {
        return pageSize;
    }

    /** 设置每页显示记录数 */
    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    /** 获取排序列 */
    @JsonIgnore
    @JSONField(serialize = false)
    public String getOrderByColumn() {
        return orderByColumn;
    }

    /** 设置排序列 */
    public void setOrderByColumn(String orderByColumn) {
        this.orderByColumn = orderByColumn;
    }

    /** 获取排序字段 */
    public List<Integer> getSearchSort() {
        return searchSort;
    }

    /** 设置排序字段 */
    public void setSearchSort(List<Integer> searchSort) {
        this.searchSort = searchSort;
    }

    /** 获取排序字段升序还是降序(1:升序,2:降序) */
    public List<Integer> getAscOrDesc() {
        return ascOrDesc;
    }

    /** 设置排序字段升序还是降序(1:升序,2:降序) */
    public void setAscOrDesc(List<Integer> ascOrDesc) {
        this.ascOrDesc = ascOrDesc;
    }

    /** 获取距离 */
    public Long getBaseDist() {
        return baseDist;
    }

    /** 设置距离 */
    public void setBaseDist(Long baseDist) {
        this.baseDist = baseDist;
    }

    /** 获取开始时间 */
    public Date getBeginTime() {
        return beginTime;
    }

    /** 设置开始时间 */
    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    /** 获取结束时间 */
    public Date getOverTime() {
        return overTime;
    }

    /** 设置结束时间 */
    public void setOverTime(Date overTime) {
        this.overTime = overTime;
    }

    /** 获取接收截图文件的数组 */
    public byte[] getBytes() {
        return bytes;
    }

    /** 设置接收截图文件的数组 */
    public void setBytes(byte[] bytes) {
        this.bytes = bytes;
    }

    /** 获取不查状态 */
    public Integer getStatusNo() {
        return statusNo;
    }

    /** 设置不查状态 */
    public void setStatusNo(Integer statusNo) {
        this.statusNo = statusNo;
    }

}